#ifndef SOUNDMANAGER_H_
#define SOUNDMANAGER_H_

/**
 * SoundManager: holds the sf::SoundBuffer data.
 * @author Terry Brashaw
 * @date Oct 5
 */

#include "Include.h"
#include "SoundWrap.h"

class SoundManager {
private:
    std::vector<SoundWrap*> soundWrap;
    int FindIndex(const string& sId);

public:
    // Init/Deinit
    SoundManager();
    ~SoundManager();
    void Initialize();

    // Object functionality
    void AddSound(const string& filename, const string& identifier, bool loops);
    void PlaySound(const string& sId);
    void PlaySound(int iId);

    // Get/Set
    SoundBuffer& GetSoundBuffer(const string& sId);
    SoundBuffer& GetSoundBuffer(int iId);
};
#endif
